import java.util.Arrays;

public class java2024_5_15 {
    //    public static void main(String[] args) {
//        //插入排序
//        int[] array = {5, 2, 4, 8, 7, 6, 9, 10, 1, 3};
//
//        for (int i = 0; i < array.length - 1; i++) {
//            int end = i;
//            int key = array[end + 1];
//            while (end >= 0) {
//                if (array[end] > key) {
//                    array[end + 1] = array[end];
//                    end--;
//                } else {
//                    break;
//                }
//            }
//            array[end + 1] = key;
//        }
//        System.out.println(Arrays.toString(array));
//    }
//    public static void main(String[] args) {
//        //希尔排序
//        int[] array = {5, 3, 4, 1, 6, 8, 7, 10, 2, 9};
//
//        int gap = array.length;
//        while (gap > 1) {
//            gap /= 2;
//            for (int i = 0; i < array.length - gap; i++) {
//                int end = i;
//                int key = array[end + gap];
//                while (end >= 0) {
//                    if (array[end] > key) {
//                        array[end + gap] = array[end];
//                        end -= gap;
//                    } else {
//                        break;
//                    }
//                }
//                array[end + gap] = key;
//            }
//        }
//        System.out.println(Arrays.toString(array));
//    }
//    public static void main(String[] args) {
//        //堆排序
//        int[] array = {3, 4, 6, 2, 7, 9, 10, 1, 5, 8};
//        HeapSort(array,array.length);
//        System.out.println(Arrays.toString(array));
//
//    }
//
//    //向下调整算法
//    public static void adjustDown(int[] array, int len, int root) {
//        int parent = root;
//        int child = 2 * parent + 1;
//        while (child < len) {
//            if (child + 1 < len && array[child + 1] > array[child]) {
//                child++;
//            }
//            if (array[parent] < array[child]) {
//                int temp = array[parent];
//                array[parent] = array[child];
//                array[child] = temp;
//                parent = child;
//                child = 2 * parent + 1;
//            } else {
//                break;
//            }
//        }
//    }
//
//    //建堆
//    public static void setHeap(int[] array, int len, int root) {
//        for (int i = (len - 1 - 1) / 2; i >= 0; i--) {
//            adjustDown(array, len, i);
//        }
//    }
//
//    //堆排序
//    public static void HeapSort(int[] array, int len) {
//        int end = len;
//        while (end > 0) {
//            setHeap(array, end, 0);
//            int temp = array[end - 1];
//            array[end - 1] = array[0];
//            array[0] = temp;
//            end--;
//        }
//    }
//    public static void main(String[] args) {
//        //选择排序
//        int[] array = {2, 5, 3, 7, 9, 10, 2, 8, 1, 4, 6};
//
//        int left = 0;
//        int end = array.length-1;
//        while (left<end) {
//            int maxi = left;
//            int mini = left;
//            for (int i = left; i <= end; i++) {
//                if(array[i]<array[mini]){
//                    mini = i;
//                }
//                if(array[i]>array[maxi]){
//                    maxi = i;
//                }
//            }
//            int temp = array[left];
//            array[left] = array[mini];
//            array[mini] = temp;
//            if(maxi == left){
//                maxi = mini;
//            }
//            temp = array[maxi];
//            array[maxi] = array[end];
//            array[end] = temp;
//            end--;
//            left++;
//        }
//        System.out.println(Arrays.toString(array));
//    }
//    public static void main(String[] args) {
//        //冒泡排序 - 稳定
//        int[] array = {2, 5, 3, 8, 10, 4, 1, 9, 6, 7};
//
//        for (int k = 0; k < array.length; k++) {
//            for (int i = 0; i < array.length - 1 - k; i++) {
//                if (array[i] > array[i + 1]) {
//                    swap(array, i, i + 1);
//                }
//            }
//        }
//        System.out.println(Arrays.toString(array));
//
//
//    }
//
//    public static void swap(int[] array, int number1, int number2) {
//        int temp = array[number1];
//        array[number1] = array[number2];
//        array[number2] = temp;
//    }
//    public static void main(String[] args) {
//        //快速排序
//        int[] array = {2, 6, 4, 9, 8, 10, 7, 1, 3, 5};
//        QuickSort(array,0,array.length-1);
//        for(int x:array){
//            System.out.print(x+" ");
//        }
//
//    }
//
//    public static void QuickSort(int[] array,int left,int right) {
//        if(left>=right){
//            return;
//        }
//        int begin = left;
//        int end = right;
//        int keyi = left;
//        int key = array[keyi];
//        while (left<right) {
//            while(array[right]>=key && left<right){
//                right--;
//            }
//            array[left] = array[right];
//            while(array[left]<=key && left<right){
//                left++;
//            }
//            array[right] = array[left];
//        }
//        array[left] = key;
//        keyi = left;
//        QuickSort(array,begin,keyi-1);
//        QuickSort(array,keyi+1,end);
//    }
//    public static void main(String[] args) {
//        //快速排序 - 双向指针法
//        int[] array = {2, 6, 4, 9, 8, 10, 7, 1, 3, 5};
//        QuickSort(array,0,array.length-1);
//        System.out.println(Arrays.toString(array));
//
//
//    }
//    public static void QuickSort(int[] array,int left,int right){
//        if(left>=right){
//            return;
//        }
//        int begin = left;
//        int end = right;
//        int keyi = left;
//        int key = array[keyi];
//        while (left<right) {
//            while(array[right]>=key&&left<right){
//                right--;
//            }
//            while(array[left]<=key&&left<right){
//                left++;
//            }
//            int temp = array[left];
//            array[left] = array[right];
//            array[right] = temp;
//        }
//        int temp = array[left];
//        array[left] = array[keyi];
//        array[keyi] = temp;
//        keyi = left;
//        QuickSort(array,begin,keyi-1);
//        QuickSort(array,keyi+1,end);
//    }
//    public static void main(String[] args) {
//        //快速排序 - 前后指针法
//        int[] array = {2, 6, 4, 9, 8, 10, 7, 1, 3, 5};
//        QuickSort(array,0,array.length-1);
//        System.out.println(Arrays.toString(array));
//    }
//    public static void QuickSort(int[] array,int left,int right){
//        if(left>=right){
//            return;
//        }
//        int keyi = left;
//        int key = array[left];
//        int prev = left;
//        int cur = prev+1;
//        while (cur<=right) {
//            if(array[cur]<key){
//                prev++;
//                swap(array,prev,cur);
//            }
//            cur++;
//        }
//        swap(array,keyi,prev);
//        QuickSort(array,left,prev-1);
//        QuickSort(array,prev+1,right);
//    }
//    public static void swap(int[] array,int num1,int num2){
//        int temp = array[num1];
//        array[num1] = array[num2];
//        array[num2] = temp;
//    }
    public static void main(String[] args) {
        Student student = new Student("zhangsan", 18);
        System.out.println(student.getName());
        System.out.println(student.getAge());
//        student.setName("zhangsan");
//        student.setAge(20);

    }


}
